#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H

#include <QDialog>
#include<QMap>
#include<QKeyEvent>

namespace Ui {
class LoginDialog;
}

class LoginDialog : public QDialog
{
    Q_OBJECT

public:
    explicit LoginDialog(QWidget *parent = nullptr);
    ~LoginDialog();

private:
    Ui::LoginDialog *ui;

private:

    //自动填充的账号和密码信息
    QMap<QString, QString> m_loginInformation;
    //是否是md5的密码
    bool m_isMD5Password = false;

    QString m_pastUserName;
    /**
     * @brief 初始化界面风格
     */
    void initializeStyleSheet();
    /**
     * @brief 初始化账户信息
     */
    void initializeAccountInformation();
private slots:
    /**
     * @brief 登陆操作
     */
    void loginOperator();

protected:
    /**
     * @brief 事件过滤器
     * @param obj
     * @param event
     * @return
     */
    bool eventFilter(QObject *obj, QEvent *event);
    /**
     * @brief 事件过滤器
     * @param event
     */
    void keyPressEvent(QKeyEvent *event);
signals:
    /**
     * @brief 发射跳转到主界面的信号
     */
    void show2MainWidget();
    /**
     * @brief 发射跳转到注册的信号
     */
    void show2RegisterDialog();
};

#endif // LOGINDIALOG_H
